import axios from '@/utils/request'
export default {
  Staff: {
    list: {
      // export: {
      //   query: {
      //     '@display': `{
      //       'store' : 'entity.getStore().__toString()',
      //       'team' : 'entity.getSquad().getTeam().__toString()',
      //       'squad' : 'entity.getSquad().__toString()',
      //       'name' : 'entity.getName()',
      //       'phone' : 'entity.getPhone()',
      //       'balance' : 'entity.getUser().getBalance().getAmount()'
      //     }`,
      //     limit: 10000000
      //   },
      //   label: {
      //     'store': '门店',
      //     'team': '团队',
      //     'squad': '小队',
      //     'name': '姓名',
      //     'phone': '电话',
      //     'balance': '账号余额'
      //   }
      // },
      query: {
        '@expands': "['entity.user.balance','entity.squad.team.store']"
      },
      disabled_actions: ['new'],
      list_filter: {
        'phone': '电话',
        'store.id': () => {
          return axios
            .get(`/manage/stores`)
            .then(res =>
              Object.assign({ __label: '门店' },
                ...res.data.map(v => { return { [v.id]: v.name } })))
        },
        'squad.team.id': () => {
          return axios
            .get(`/manage/teams`)
            .then(res =>
              Object.assign({ __label: '团队' },
                ...res.data.map(v => { return { [v.id]: v.name } })))
        },
        'squad.id': () => {
          return axios
            .get(`/manage/squads`)
            .then(res =>
              Object.assign({ __label: '小队' },
                ...res.data.map(v => { return { [v.id]: v.name } })))
        },
        name: {
          expression: `entity.getPhone() matches ":value"`,
          label: '电话',
          type: 'input'
        }
      },
      list_display: [
        { property: 'squad.__metadata.team.__metadata.store.__metadata.name', label: '门店' },
        { property: 'squad.__metadata.team.__metadata.name', label: '团队' },
        { property: 'squad', label: '小队' },
        'name',
        'phone',
        { property: 'user.__metadata.balance.__metadata.amount', label: '余额' }
      ]
    },
    form: {
      fields: [
        'name',
        'phone',
        'squad'
      ]
    }
  }
}

